[INFO] cloning repository https://github.com/nykkl/webbit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nykkl/webbit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnykkl%2Fwebbit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnykkl%2Fwebbit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36c276a370a908aac7e784b2c61ad66d1e38a9db
[INFO] fixing nykkl/webbit against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnykkl%2Fwebbit" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nykkl/webbit
[INFO] finished tweaking git repo https://github.com/nykkl/webbit
[INFO] tweaked toml for git repo https://github.com/nykkl/webbit written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nykkl/webbit on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nykkl/webbit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382
[INFO] running `Command { std: "docker" "start" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking result_or_err v0.1.0 (https://github.com/nykkl/result_or_err.git?tag=0.1.0#0f019de0)
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking simba v0.7.3
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]     Checking wasm-bindgen v0.2.100
[INFO] [stderr]     Checking js-sys v0.3.77
[INFO] [stderr]     Checking nalgebra v0.30.1
[INFO] [stderr]     Checking web-sys v0.3.77
[INFO] [stderr]     Checking ncollide2d v0.33.0
[INFO] [stderr]     Checking webbit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/components/slider.rs:84:24
[INFO] [stdout]      |
[INFO] [stdout]   82 |                 let target = event.target().unwrap().dyn_into::<HtmlInputElement>().unwrap();
[INFO] [stdout]      |                     ------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `target` calls a custom destructor
[INFO] [stdout]      |                     `target` will be dropped later as of Edition 2024
[INFO] [stdout]   83 |                 this.text.set_value(&target.value());
[INFO] [stdout]   84 |                 if let Ok(value) = target.value().parse::<T>() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   87 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `target` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/lib.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/components/slider.rs:94:24
[INFO] [stdout]      |
[INFO] [stdout]   92 |                 let target = event.target().unwrap().dyn_into::<HtmlInputElement>().unwrap();
[INFO] [stdout]      |                     ------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `target` calls a custom destructor
[INFO] [stdout]      |                     `target` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |                 this.slider.set_value(&target.value());
[INFO] [stdout]   94 |                 if let Ok(value) = target.value().parse::<T>() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   97 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `target` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/lib.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/events/shared_event_listener.rs:69:26
[INFO] [stdout]     |
[INFO] [stdout]  68 |         let mut h = self.handler.borrow_mut();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |         if let Some(handler) = h.take() {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  72 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/closure.rs:513:1
[INFO] [stdout]     |
[INFO] [stdout] 513 | / impl<T> Drop for Closure<T>
[INFO] [stdout] 514 | | where
[INFO] [stdout] 515 | |     T: ?Sized,
[INFO] [stdout]     | |______________^
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(A) + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/events/custom_event_listener.rs:26:51
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/events/custom_event_listener.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl for<'a> FnMut(&'a A) + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/events/custom_event_listener.rs:110:52
[INFO] [stdout]     |
[INFO] [stdout] 110 |     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/events/custom_event_listener.rs:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.39s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/components/slider.rs:84:24
[INFO] [stdout]      |
[INFO] [stdout]   82 |                 let target = event.target().unwrap().dyn_into::<HtmlInputElement>().unwrap();
[INFO] [stdout]      |                     ------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `target` calls a custom destructor
[INFO] [stdout]      |                     `target` will be dropped later as of Edition 2024
[INFO] [stdout]   83 |                 this.text.set_value(&target.value());
[INFO] [stdout]   84 |                 if let Ok(value) = target.value().parse::<T>() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   87 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `target` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/lib.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/components/slider.rs:94:24
[INFO] [stdout]      |
[INFO] [stdout]   92 |                 let target = event.target().unwrap().dyn_into::<HtmlInputElement>().unwrap();
[INFO] [stdout]      |                     ------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `target` calls a custom destructor
[INFO] [stdout]      |                     `target` will be dropped later as of Edition 2024
[INFO] [stdout]   93 |                 this.slider.set_value(&target.value());
[INFO] [stdout]   94 |                 if let Ok(value) = target.value().parse::<T>() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   97 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `target` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/lib.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | impl Drop for JsValue {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/events/shared_event_listener.rs:69:26
[INFO] [stdout]     |
[INFO] [stdout]  68 |         let mut h = self.handler.borrow_mut();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h` calls a custom destructor
[INFO] [stdout]     |             `h` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |         if let Some(handler) = h.take() {
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  72 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.100/src/closure.rs:513:1
[INFO] [stdout]     |
[INFO] [stdout] 513 | / impl<T> Drop for Closure<T>
[INFO] [stdout] 514 | | where
[INFO] [stdout] 515 | |     T: ?Sized,
[INFO] [stdout]     | |______________^
[INFO] [stdout] note: `h` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl FnMut(A) + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/events/custom_event_listener.rs:26:51
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/events/custom_event_listener.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl for<'a> FnMut(&'a A) + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/events/custom_event_listener.rs:110:52
[INFO] [stdout]     |
[INFO] [stdout] 110 |     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/events/custom_event_listener.rs:108:3
[INFO] [stdout]     |
[INFO] [stdout] 108 |         &self,
[INFO] [stdout]     |         ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: webbit v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking webbit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BorrowError`, `BorrowMutError`, `RefCell`, and `ops::Deref`
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{BorrowError, BorrowMutError, RefCell},
[INFO] [stdout]   |            ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     ops::Deref,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/components/button.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/components/context_menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/components/context_menu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hr`
[INFO] [stdout]  --> src/components/side_bar.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     elements::{div, hr, on, styled},
[INFO] [stdout]   |                     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `string_environment::*`
[INFO] [stdout]   --> src/errors/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use string_environment::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/component_content.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowError`, `BorrowMutError`, `RefCell`, and `ops::Deref`
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     cell::{BorrowError, BorrowMutError, RefCell},
[INFO] [stdout]   |            ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 3 |     ops::Deref,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/components/button.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/components/context_menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/components/context_menu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hr`
[INFO] [stdout]  --> src/components/side_bar.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     elements::{div, hr, on, styled},
[INFO] [stdout]   |                     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `string_environment::*`
[INFO] [stdout]   --> src/errors/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use string_environment::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/component_content.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `self` does not live long enough
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^ borrowed value does not live long enough
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout] 45 |         }
[INFO] [stdout] 46 |     }
[INFO] [stdout]    |     - `self` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `A` may not live long enough
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the parameter type `A` must be valid for the static lifetime...
[INFO] [stdout]    |               ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<A: 'static> CustomEventListener<A> {
[INFO] [stdout]    |       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]   --> src/events/custom_event_listener.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- borrow of `self` occurs here
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout]    |                         ^^^^ move out of `self` occurs here
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `custom_event_listener::CustomEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/events/custom_event_listener.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct CustomEventListener<A> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]   --> src/events/custom_event_listener.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- borrow of `self` occurs here
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 -^^^^----------
[INFO] [stdout]    |                                 ||
[INFO] [stdout]    |                                 |move out of `self` occurs here
[INFO] [stdout]    |                                 this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `custom_event_listener::CustomEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/events/custom_event_listener.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct CustomEventListener<A> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `self` does not live long enough
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^ borrowed value does not live long enough
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout] 131 |         }
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - `self` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `A` may not live long enough
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the parameter type `A` must be valid for the static lifetime...
[INFO] [stdout]     |               ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<A: 'static> CustomRefEventListener<A> {
[INFO] [stdout]     |       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]    --> src/events/custom_event_listener.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- borrow of `self` occurs here
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout]     |                         ^^^^ move out of `self` occurs here
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `CustomRefEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/events/custom_event_listener.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct CustomRefEventListener<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]    --> src/events/custom_event_listener.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- borrow of `self` occurs here
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 -^^^^----------
[INFO] [stdout]     |                                 ||
[INFO] [stdout]     |                                 |move out of `self` occurs here
[INFO] [stdout]     |                                 this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `CustomRefEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/events/custom_event_listener.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct CustomRefEventListener<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `self` does not live long enough
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^ borrowed value does not live long enough
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout] 45 |         }
[INFO] [stdout] 46 |     }
[INFO] [stdout]    |     - `self` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `A` may not live long enough
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the parameter type `A` must be valid for the static lifetime...
[INFO] [stdout]    |               ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<A: 'static> CustomEventListener<A> {
[INFO] [stdout]    |       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]   --> src/events/custom_event_listener.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- borrow of `self` occurs here
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout]    |                         ^^^^ move out of `self` occurs here
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `custom_event_listener::CustomEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/events/custom_event_listener.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct CustomEventListener<A> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]   --> src/events/custom_event_listener.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |         self,
[INFO] [stdout]    |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- borrow of `self` occurs here
[INFO] [stdout] 43 |             Ok(_) => Ok(self),
[INFO] [stdout] 44 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]    |                                 -^^^^----------
[INFO] [stdout]    |                                 ||
[INFO] [stdout]    |                                 |move out of `self` occurs here
[INFO] [stdout]    |                                 this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> src/events/custom_event_listener.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         handler: impl FnMut(A) + 'static,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `custom_event_listener::CustomEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/events/custom_event_listener.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct CustomEventListener<A> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 42 |         match self.set_handler(handler) {
[INFO] [stdout]    |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     pub fn set_handler<T: FnMut(A) + 'static>(
[INFO] [stdout] 24 |         &self,
[INFO] [stdout] 25 ~         handler: T,
[INFO] [stdout] 26 ~     ) -> Result<Option<Box<dyn FnMut(A) + 'static>>, impl FnMut(A) + 'static + use<A, T>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `self` does not live long enough
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^ borrowed value does not live long enough
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout] 131 |         }
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - `self` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0310]: the parameter type `A` may not live long enough
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the parameter type `A` must be valid for the static lifetime...
[INFO] [stdout]     |               ...so that the type `A` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl<A: 'static> CustomRefEventListener<A> {
[INFO] [stdout]     |       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]    --> src/events/custom_event_listener.rs:129:16
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- borrow of `self` occurs here
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout]     |                         ^^^^ move out of `self` occurs here
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 --------------- this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `CustomRefEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/events/custom_event_listener.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct CustomRefEventListener<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `self` because it is borrowed
[INFO] [stdout]    --> src/events/custom_event_listener.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |         self,
[INFO] [stdout]     |         ---- binding `self` declared here
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- borrow of `self` occurs here
[INFO] [stdout] 129 |             Ok(_) => Ok(self),
[INFO] [stdout] 130 |             Err(handler) => Err((self, handler)),
[INFO] [stdout]     |                                 -^^^^----------
[INFO] [stdout]     |                                 ||
[INFO] [stdout]     |                                 |move out of `self` occurs here
[INFO] [stdout]     |                                 this usage requires that `self` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/events/custom_event_listener.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/events/custom_event_listener.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 |         handler: impl FnMut(&A) + 'static,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: if `CustomRefEventListener<A>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/events/custom_event_listener.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct CustomRefEventListener<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 128 |         match self.set_handler(handler) {
[INFO] [stdout]     |               ---- you could clone this value
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 107 ~     pub fn set_handler<T: FnMut(&A) + 'static>(
[INFO] [stdout] 108 |         &self,
[INFO] [stdout] 109 ~         handler: T,
[INFO] [stdout] 110 ~     ) -> Result<Option<Box<dyn FnMut(&A) + 'static>>, impl FnMut(&A) + 'static + use<A, T>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `border`
[INFO] [stdout]   --> src/components/selection_frame.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let border = on(&outline, styled(div(), "selection-border"));
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_border`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/errors/ignore_err.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, err: E) {}
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |             Some(mut handler) => {
[INFO] [stdout]    |                  ----^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut loan = self.handler.borrow_mut().take();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0310, E0505, E0597.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `webbit` (lib) due to 8 previous errors; 11 warnings emitted
[INFO] [stdout] For more information about an error, try `rustc --explain E0310`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `border`
[INFO] [stdout]   --> src/components/selection_frame.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let border = on(&outline, styled(div(), "selection-border"));
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_border`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/errors/ignore_err.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, err: E) {}
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |             Some(mut handler) => {
[INFO] [stdout]    |                  ----^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/events/custom_event_listener.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut loan = self.handler.borrow_mut().take();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0310, E0505, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0310`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `webbit` (lib test) due to 8 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382", kill_on_drop: false }`
[INFO] [stdout] fbcb50d96b64d404e77f75639c96525330328e40e27deaf9b28fcd884189b382
